CodeDeploy AgentをRuby2.6を使ってインストールする
はい、どーも!CX事業本部の吉田です。
今回はCodeDeploy Agentを、Ruby2.6を使ってインストールする方法をまとめました。
Ruby2.6はサポートされていない
CodeDeploy Agentのインストール方法はこちらにまとめられています。
Ruby2.6がインストールされた環境で、これに従って
sudo ./install auto
と実行すると、以下のようなメッセージが表示され、インストールに失敗します。
Current running Ruby version for ec2-user is 2.6.0, but Ruby version 2.x needs to be installed.
これは現在CodeDeploy AgentのインストーラーがRuby2.5までにしか対応していないために、このようなメッセージが表示されます。
ワークアラウンド
ではRuby2.6ではインストールできないのかな?と思ったのですが、さきほどのメッセージをよく見るとヒントがありました。
If you already have the proper Ruby version installed, please either create a symlink to /usr/bin/ruby2.x, or run this install script with right interpreter. Otherwise please install Ruby 2.x for ec2-user user.
つまり現在インストールされているrubyコマンドに、/usr/bin/ruby2.x というシンボリックリンクを作れば、インストールできそうな気がします。 念の為、インストーラのコードを確認します。こちらの103行目~110行目あたりですね。
現在のrubyコマンドは /usr/bin/ruby にあるようなので、シンボリックリンクを以下のように作成しました。
ln -s /usr/bin/ruby /usr/bin/ruby2.5
これで再度インストーラを起動すれば、正しくインストールできます。
せっかくなのでプルリクエストしておく
インストールのコードを見た感じだと、とくにRuby2.6では動かないようなところもなさそうだったので、修正してプルリクを出しておきました。
既にissueは上がっているようですので、マージされるといいですね。